package cmk.lee.easy;

public class Leetcode_7 {
	public static void main(String[] args) {
		System.out.println(reverse(1534236469));
	}

	/*
	 * 注意: 假设我们的环境只能存储得下 32 位的有符号整数， 则其数值范围为 [−231,  231 − 1]。
	 * 请根据这个假设，如果反转后整数溢出那么就返回 0。
	 * 来源：力扣（LeetCode）
	 */
	public static int reverse(int x) {
		long n = 0;
		//while循环每一位
		while (x != 0) {
			n = n * 10 + x % 10;
			x /= 10;
		}
		/**
		 * 若x=123
		 *    n = 0*10+123%10;
		 *    n = 3  此时x=12
		 *  x=12
		 *    n = 3*10+12%10; 
		 *    n = 32 此时x=1
		 *  x=1
		 *    n = 32*10+1%10;
		 *    n=321
		 */
		
		return (int) n == n ? (int) n : 0;
	}
}
